Various sorts of volatile memories are available in the marketplace for the temporary storage of volatile data. They include dynamic random access memories (DRAMs), static random access memories (SRAMs), and the like. And such large memories are commonly used in a large variety of electronic devices.
Typically a volatile memory will include a large number of individual memory cells that are arranged in an array. Each memory cell in the memory array can then be identified by a unique combination of row address and column address. Some implementations may further split the available memory up into separate memory blocks, with each block containing a separate array. In such an embodiment, each memory cell in the memory array can be identified by a unique combination of bank identifier and row address and column address within the bank.
However, during the manufacturing process of a volatile memory element, errors can arise in individual memory cells within the volatile memory element, rendering them unusable. In order to address this problem, volatile memories will often have a set of redundant memory elements (i.e., memory cells or groups of memory cells), often arranged as redundant rows or redundant columns. These redundant memory elements can then be used in place of the defective memory elements identified during manufacturing.
One common way to account for the defective memory cells is to provide a set of fuses within the volatile memory. During manufacture, each of these fuses can be burned out in a certain pattern so as to identify a defective memory cell or, more commonly, a row or column in the memory array that contains one or more defective memory cells. The information in these fuses can then be used during normal operation of the volatile memory to reroute data requests that are addressed to the defective memory cells to redundant memory cells that are intended to take their place. And since the fuses are permanently burned, the data they contain will remain even when the volatile memory element is shut down for a time.
However, given the manufacturing requirements for burning the fuses properly, the process of identifying the memory errors must take place before the memory device containing the volatile memory is finally assembled. Thus, the volatile memory typically undergoes additional manufacturing processes after fuses are set. And these later processes can result in additional memory cell errors, which will necessarily not be accounted for by the fuses.
It would therefore be desirable to provide a way in which memory cell errors in a volatile memory could be addressed after manufacture and assembly of the memory device was completed.